Micron Document

FAQ
Part 3/7 • 22.6 KB total
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
How does routing work without authoritative systems?

Reticulum works by having local routing tables. When a destination announces its presence, it sends its address and the public key of its identity on all known interfaces. Each interface that sees it processes it and, depending on the interface mode, may pass it along.

When a "router" (transport node) processes an announce, it determines whether its path is better than the current path to the destination, and if it is, stores it as the next hop towards that destination. This means that when a router is handed a packet with an address, it knows the next step in the routing table, and only the next step. There is no global routing table, and paths are dynamically generated as network topology changes.

The details of how announces are propagated are complicated, but an important concept is "gateways" (transport nodes participating in path seeking). Any peer can query the network to ask if a destination is known, and gateways will attempt to find it by asking other gateways on the network.

Because of this, network segments can store only local announces and query the wider network for those it doesn't know. If you're familiar with DNS, this is not unlike a local name server that knows some local names but must query another server when a name is unknown. The major difference is that you don't need an upstream server, Reticulum can query the network as a whole.

How secure is Reticulum?

Short version

Used properly, Reticulum meets or exceeds industry standards. It has forward secrecy and uses proven cryptographic primitives in proven methods. If any of these standards become insecure, Reticulum is designed for easy replacement of cryptographic standards.

Used improperly, it remains encrypted using a slower, less secure standard with no forward secrecy. As most networking stacks use optional encryption, this makes Reticulum more secure by default.

Long version

Most sustained communication in Reticulum is performed over a link. These links are AES encrypted with an ephemeral key based on a DH key exchange. This provides fast, secure, forward secret encryption. Virtually every communication is signed, providing an assurance that the encrypted data and even exposed metadata is authentic.

With the exception of unrouted packets, mostly announces generated to distribute public keys and pathing information, all packets in Reticulum are encrypted. The only exposed information is a two byte header, a one byte context field, and the destination address. The header contains single flag, the header, propagation, destination, and packet types, and the number of hops. No other information is exposed. Basic packets don’t include the source address even in the encrypted data, and no router ever sees more than one hop in either direction, and unless the sender chooses to identify themselves, there is no way to determine the sender from the received packet.

From a risk management perspective, cracking the AES encryption on a single link will only reveal the communications from that link session. Cracking the asymmetric keys will only allow decryption of base packets and any key exchanges that were recorded by the attacker.

By avoiding novel encryption, Reticulum uses proven industry standards to create a secure network stack that avoids the attack vectors inherent in other stacks.

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────